// Copyright © SixtyFPS GmbH <info@slint.dev>
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0

export TestCase := Text {
//              ><warning{':=' to declare a component is deprecated. The new syntax declare components with 'component MyComponent {'. Read the documentation for more info}
    // allow unqualified enum when we can infer the type from the property assigned to
    horizontal-alignment: right;

    callback change_alignment();
    change_alignment => {
        // allow qualified enum lookup
        self.horizontal_alignment = TextHorizontalAlignment.left;

        //typo
        self.horizontal_alignment =
            TextHorizontalAlignment.lefti;
//                                  >   <error{'lefti' is not a member of the enum TextHorizontalAlignment}
    }

    vertical_alignment: TextVerticalAlignment.top.right;
//                                                >   <error{Cannot access the field 'right' of enum TextVerticalAlignment}
    Text {
        horizontal-alignment: right.foo;
//                                  > <error{Cannot access the field 'foo' of enum TextHorizontalAlignment}
        vertical_alignment: TextVerticalAlignment;
//                          >                   <error{Cannot take reference to an enum}
    }

}
